The present invention relates generally to bit mapped, raster scan, video display systems. More particularly, the invention is directed to a cursor system within such a system that provides a color cursor which may wholly or partially exit the video display from any of the display's four sides.
Techniques for creating and manipulating patterns in a bit mapped video display are commonly known and used in work stations and advanced personal computer systems. A frame buffer memory array is used to store pixel data which is eventually converted into the video display on a CRT screen, or similar screen. The frame buffer memory conventionally includes non-displayed but addressable memory segments. In older display systems accessing data from the frame buffer memory requires considerable time, but with the use of newer, higher speed DRAMs as the frame buffer memory, only fractions of the horizontal display retrace or blank time and the vertical retrace or blank time are used to access video display data. The remainder of the blank times may be used to access the non-displayed but addressable segments of the frame buffer memory and for other purposes. The present invention, in one aspect, efficiently utilizes such available time to create non-displayable, logical pixel spaces located above the top and before the left side of the video display on the screen. These two non-displayable pixel spaces are in addition to the conventional non-displayable logical pixel spaces below the bottom of the display screen and beyond the right side of the display screen, which the cursor may be moved into.
Cursors are shape, color or brightness differences in the representation on the video display which relate the user's activity to information within the work station or computer system. Cursors can be as small as a single pixel in a bit mapped display, or may be comprised of multiple pixels arranged into an informative pattern, such as an arrow, an index finger or a hand. Cursors are most often created by software routines which temporarily move the underlying information off the screen and replace that information with a cursor pattern. Software generated cursors may be quite flexible in their movements on or off of the display screen, but usually degrade in performance when the cursor or screen patterns move or are subject to windowing. Additionally, software generated cursors of some applications, such as Windows by Microsoft Corporation, may occupy up to 30 per cent of a microprocessor's time in order to manipulate the cursor.
Systems which move blocks of data in bit mapped video displays are described in U.S. Pat. No. 4,533,910 and reissued Pat. Re. No. 31,200. According to the first implementation, viewports are defined and inserted into video display frames by changing the frame buffer addresses. In the case of the latter, multiple and elaborate controllers regulate the writing of data to the frame buffer, the scanning of the frame buffer data for presentation on the video display, and the exchange of data exchanged between the system and the host computer. The complexity of both the systems is directed to the formation and manipulation of large windows within graphical systems.
U.S. Pat. No. 4,454,507 is directed to the superposition of vector cursors composed of lines. The cursor generation system therein requires a high speed external memory of significant size, because the complete cursor pattern is stored in the supplemental memory. As a further distinction, the subject matter of the patent is constrained to a direct overly of the cursor images, in contrast to logical combinations of such images with the frame buffer image at the cursor location.
Another patent relating to the generation of cursors in a bit mapped video display is U.S. Pat. No. 4,625,202. The teaching therein is however limited to cursors composed of lines alone, in contrast to two dimensional images even so simple as a "X" or a circle. Accordingly, this cursor generation system is very constrained in potential application.
A further teaching of cursor generation is presented in U.S. Pat. No. 4,668,947 where predefined cursor shapes are stored externally and interjected into the displayed pattern during the scan of the frame buffer by address jumps to a supplemental high speed memory. In some respects, the concepts are analogous to those which underlie the first mentioned pair of U.S. patents. The implementation of the patent has an external high speed memory and also means for tracking both the X and Y axes of the bit mapped display in order to identify the locations where cursor information is to be inserted.
U.S. Pat. Nos. 4,566,000 and 4,354,184 also show cursor systems.
In the context of such prior art, there remains a need for a cursor system which requires very little system CPU processing time in order to manipulate the cursor, which generates a cursor that can be moved off of the display screen from any of the four sides, which generates a cursor unaffected by frame buffer pattern changes such as scrolling or windowing, which can be implemented within the context of the basic frame buffer memory, and which provides logical combinations of cursor and video display pixel information.